unstratified language
Học thuậtThân thiện
A programmer writes a program in an unstratified language to analyze its own syntax.
Definition
Noun: A programming language that, like a natural language, can be used as its own metalanguage. This means the language's own syntax and constructs can be employed to write programs that analyze, manipulate, or generate other programs written in the same language.
Usage
The term is used in computer science, particularly in the study of programming language theory and design. It describes a specific class of languages characterized by their self-referential capability.
Examples
- In technical writing:
- LISP is often cited as a classic example of an unstratified language because its code and data share the same structure, allowing powerful metaprogramming.
- The property of being an unstratified language allows for the creation of sophisticated compilers and interpreters within the language itself.
Advanced Usage
- In language design discussions:
- The concept contrasts with a stratified language, where different levels (object language and metalanguage) are strictly separated.
- An unstratified language blurs the line between the program and the tool that processes the program, enabling techniques like reflection and homoiconicity.
Variants and Related Words
- Stratified Language (n): A programming language where the language for writing programs (object language) is distinct from the language used to describe or analyze it (metalanguage).
- Metalanguage (n): A language used to describe or analyze another language.
- Homoiconicity (n): A property of a programming language where the primary representation of code is also a data structure in the same language, a common trait of unstratified languages.
Synonyms
- Self-descriptive language (in specific contexts)
- Reflective language (when emphasizing runtime metaprogramming capabilities)
Related Concepts (Not Phrasal Verbs or Idioms)
- Metaprogramming: The technique of writing programs that can manipulate other programs (or themselves) as their data. This is a common application enabled by unstratified languages.
- Bootstrapping: The process of writing a compiler or interpreter for a language in the language itself, often leveraging its unstratified nature.
A programmer writes a program in an unstratified language to analyze its own syntax.
Noun
- a programming language that (like natural language) can be used as its own metalanguage